FDATASYNC(2) | 리눅스 프로그래머 메뉴얼 | FDATASYNC(2) |
이름¶
fdatasync - 파일의 디스크에 있는 in-core데이타를 동기화한다.
사용법¶
#include <unistd.h>
#ifdef _POSIX_SYNCHRONIZED_IO
int fdatasync(int fd);
#endif
설명¶
fdatasync 는 시스템 호출이 반환되기 전에 디스크에서 파일의 모든 데이파버퍼를 플러쉬한다. fsync 와 비슷하지만, 액세스시간과 같은 메타데이타 업데이트를 요구하진 않는다.
액세스 데이타베이스나 로그파일이 작은 데이타 조각을 기록하고, 곧이어 쓰여진 데이 타을 확인하기 위해 fsync 를 호출하는 응용프로그램은 하드디스크에 물리적으로 저장된다. 운나쁘게도, fsync 가 상상 두개의 기록장치를 초기화 할 것이다: 하나는 새로 기록된 데이타를 위함이고, 또다른 하나는 inode에 저장된 수정시간을 업데이트하기 위함이다. 수정시간이 트랜젝션 개념의 한 부분이 아니라면 fdatasync 는 불필요한 디스크기록장치 inode를 피하기 위해 사용된다.
반환값¶
성공시, 0을 반환한다. 실패시, -1을 반환하고, errno 는 적절히 설정된다.
에러¶
- EBADF
- fd 는 기록을 위해 열린 유효 파일 디스크립터이다.
- EROFS, EINVAL
- fd 는 동기화를 지원하지 않는 특별한 파일을 경계짓는다.is bound to a special file which does not support synchronization.
- EIO
- 에러가 동기화하는 동안 발생했다.
버그¶
현재(리눅스 2.0.23) fdatasync 는 fsync 와 같다.
호환¶
POSIX1b (formerly POSIX.4)
관련 항목¶
fsync(2), B.O. Gallmeister, POSIX.4, O'Reilly, pp. 220-223 and 343.
역자¶
ASPLINUX<man@asp-linux.co.kr>, 2000년 7월 26일
1996년 4월 13일 | 리눅스 1.3.86 |